/**********************
 * 串口打印设置
**********************/

#ifndef IO_SERIAL_H
#define IO_SERIAL_H

#include <Arduino.h>

#define IO_DEBUG Serial
#define IO_LOG Serial
#define IO_ERROR Serial

#ifdef IO_DEBUG
#define DEBUGLN(...)               \
    IO_DEBUG.print("DEBUG: "); \
    IO_DEBUG.println(__VA_ARGS__)
#define DEBUGF(...)                \
    IO_DEBUG.print("DEBUG: "); \
    IO_DEBUG.printf(__VA_ARGS__)
#define DEBUG(...)                 \
    IO_DEBUG.print("DEBUG: "); \
    IO_DEBUG.print(__VA_ARGS__)
#endif // IO_DEBUG

#ifdef IO_LOG
#define LOGLN(...)             \
    IO_LOG.print("LOG: "); \
    IO_LOG.println(__VA_ARGS__)
#define LOGF(...)              \
    IO_LOG.print("LOG: "); \
    IO_LOG.printf(__VA_ARGS__)
#define LOG(...)               \
    IO_LOG.print("LOG: "); \
    IO_LOG.print(__VA_ARGS__)
#endif // IO_LOG

#ifdef IO_ERROR
#define ERRORLN(...)               \
    IO_ERROR.print("ERROR: "); \
    IO_ERROR.println(__VA_ARGS__)
#define ERRORF(...)                \
    IO_ERROR.print("ERROR: "); \
    IO_ERROR.printf(__VA_ARGS__)
#define ERROR(...)                 \
    IO_ERROR.print("ERROR: "); \
    IO_ERROR.print(__VA_ARGS__)
#endif // IO_ERROR

#endif // IREASY_SERIAL_H